import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 劵码记录信息 */
export interface CouponCode {
          id: number; // ID
          code?: string; // 公益券码
          status?: number; // 券码状态
          mobile?: string; // 用户手机号
          takeType?: number; // 领取类型
          usePrice: number; // 是否设置满多少金额可用，单位：分
          validStartTime?: string | Dayjs; // 生效开始时间
          validEndTime?: string | Dayjs; // 生效结束时间
          discountType?: number; // 券码业务类型
          discountPercent: number; // 折扣百分比
          discountPrice: number; // 优惠金额，单位：分
          discountLimitPrice: number; // 折扣上限
          useOrderId: number; // 使用订单号
          useTime: string | Dayjs; // 使用时间
          codeRedemptionTime: string | Dayjs; // 券码核销时间
          codeRedemptionUser: string; // 券码核销人，当通过管理后台核销时有值
          codeRedemptionAddr: string; // 券码核销地址
  }

// 劵码记录 API
export const CouponCodeApi = {
  // 查询劵码记录分页
  getCouponCodePage: async (params: any) => {
    return await request.get({ url: `/mcm/coupon-code/page`, params })
  },

  // 查询劵码记录详情
  getCouponCode: async (id: number) => {
    return await request.get({ url: `/mcm/coupon-code/get?id=` + id })
  },

  // 新增劵码记录
  createCouponCode: async (data: CouponCode) => {
    return await request.post({ url: `/mcm/coupon-code/create`, data })
  },

  // 修改劵码记录
  updateCouponCode: async (data: CouponCode) => {
    return await request.put({ url: `/mcm/coupon-code/update`, data })
  },

  // 删除劵码记录
  deleteCouponCode: async (id: number) => {
    return await request.delete({ url: `/mcm/coupon-code/delete?id=` + id })
  },

  /** 批量删除劵码记录 */
  deleteCouponCodeList: async (ids: number[]) => {
    return await request.delete({ url: `/mcm/coupon-code/delete-list?ids=${ids.join(',')}` })
  },

  // 导出劵码记录 Excel
  exportCouponCode: async (params) => {
    return await request.download({ url: `/mcm/coupon-code/export-excel`, params })
  },
}
